#include "../application/Robot12API.h"
#include "../logger/logger.h"
#include "../common/ArchivoIni.h"
#include "../common/Argv.h"
#include "../application/AdminKeys.h"
#include "../distributed_shared_memory/comun/DSMManager.h"

int main(int argc, char** argv){
	CLogger::create("Robot 12");
	CLogger::setLevel(LogLevelEnum::TRACE);
	CLogger::log("Empieza a simular.", LogLevelEnum::INFO);

	Argv args(argv);
	if (args.getArgc() < 3) {
		CLogger::log("Parámetros inválidos. Uso: ./robot12 <zona=izq|der> hostName", LogLevelEnum::FATAL);
		exit(1);
	}

	AdminKeys adminKeys(ZONA_MED, args.getArg(1));
	Robot12API api(adminKeys, args.getArg(2));

	DSMManager::inicializar(args.getArg(2) + args.getArg(1));

	while(true){
		CLogger::log("Espera un gabinete para producir.", LogLevelEnum::INFO);
		Producto producto = api.obtenerProducto();
		api.procesarProducto(producto);
	}

	return 0;
}

